$(function () {
  // 去注册按钮 点击事件
  $(".link_reg").on("click", function () {
    $(".reg-box").show();
    $(".login-box").hide();
  });

  //去登陆按钮 点击事件
  $(".link_login").on("click", function () {
    $(".reg-box").hide();
    $(".login-box").show();
  });

  // 1.从layui中获取form对象
  var form = layui.form;

  // 1.1函数自定义校验规则
  form.verify({
    // 1.2自定义了一个叫做 pwd 校验规则
    pwd: [/^[\S]{6,12}$/, "密码必须6到12位，且不能出现空格"],
    //1.3校验两次密码是否输入一致
    //自定义一个函数 再次确认密码的函数
    repsd: function (value) {
      // 通过形参拿到的是确认密码框中的内容
      // 还需要拿到密码框中的内容
      // 然后进行一次等于的判断
      // 如果判断失败,则return一个提示消息即可
      //获取注册部分的 密码框的值
      var pwd = $(".reg-box [name=password]").val(); //属性选择器 中间要有空格
      // 判断密码框和 再次确认密码框是否输入的一致
      if (pwd !== value) {
        return "两次密码不一致！";
      }
    },
  });

  // 2.监听注册表单提交事件
  $("#form_reg").on("submit", function (e) {
    // 阻止默认提交行为
    e.preventDefault();

    $.ajax({
      type: "post",
      url: "http://api-breakingnews-web.itheima.net/api/reguser",
      data: {
        username: $("#form_reg [name=username]").val(),
        password: $("#form_reg [name=password]").val(),
      },
      success: function (res) {
        if (res.status !== 0) {
          return layui.layer.msg(res.message);
        }
        layui.layer.msg("注册成功，请登录！");
      },
    });
  });

  // 监听登录表单提交事件
  $("#form_login").on("submit", function (e) {
    // 阻止默认提交行为
    e.preventDefault();
    $.ajax({
      type: "post",
      url: "http://api-breakingnews-web.itheima.net/api/login",

      //这个代码意思就是获取form表单里 所有name属性的值  这个里面只有账号密码 所以用这个更快捷
      data: $(this).serialize(),

      //成功的回调函数
      success: function (res) {
        if (res.status !== 0) return layer.msg(res.message); //这里是判断 如果值不为零 则弹出错误信息
        layui.layer.msg("登录成功"); //否则登录成功
        //将登录成功得到的token字符串 保存到localSrotage中
        //localStorage.getItem(key):获取指定key本地存储的值
        //localStorage.setItem(key,value)：将value存储到key字段
        localStorage.setItem("token", res.token);
        //登录成功后跳转到后台主页
        location.href = "/index.html";
      },
    });
  });
});
